We finally managed to perform our RS485 testing yesterday, which involved an Omega2S+. It turns out that waiting on flush blocks for around 30ms. This was way too long for us, so we ended up calculating our time-on-wire and rounding up to the nearest ms. Given 115200 baud, start/stop bits, and a 41-byte fixed payload size, waiting 4ms worked out about right (it took about 3.7ms for the send to complete when observed by the scope). Given also that it takes about 1.5ms for our microcontroller to process the data and reply, things are working out quite well. Our Omega does RS485, although it'd be so much nicer if we didn't have to fudge the timing.
Also, ttyS0 is used for the console, hence being conflicted when trying to use it for our purposes.
All good.